package electricity.service;

import com.github.pagehelper.Page;
import electricity.domain.SysUser;
import electricity.dto.*;
import electricity.vo.DeviceVO;
import electricity.vo.PageResult;
import electricity.vo.RoleVO;
import electricity.vo.UserManageVO;
import org.apache.catalina.User;

import java.util.List;

public interface UserManageService {
    /**
     * 查找
     * @param sysUser
     * @return
     */
    String userSearch(SysUser sysUser);
    /**
     * 新增用户
     * @param sysUser 包含用户信息的实体（需提前校验参数、处理密码加密等）
     * @return 是否新增成功
     */

    /**
     * 分页查询用户信息（可根据条件筛选）
     * @param userManageQueryDto 查询条件
     * @return 分页结果
     */
    PageResult pageQuery(UserManageQueryDto userManageQueryDto);
    /**
     * 分页查询角色信息（可根据条件筛选）
     * @param roleQueryDto 查询条件
     * @return 分页结果
     */
    PageResult pageQuery(RoleQueryDto roleQueryDto);

    UserManageVO update(UserUpdateDto userUpdateDto);

    UserManageVO insert(UserUpdateDto userUpdateDto);

    List<RoleVO> getRole();

    void batchDelete(List<Integer> ids);

    void userDelete(Integer userId);
}

